package com.cfp4cloud.cfp.knowledge.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cfp4cloud.cfp.common.core.util.R;
import com.cfp4cloud.cfp.knowledge.entity.AiChatRecordEntity;

import java.util.Map;

/**
 * AI聊天记录服务接口 管理AI对话的历史记录、数据标注和训练样本
 */
public interface AiChatRecordService extends IService<AiChatRecordEntity> {

	/**
	 * 保存聊天记录 记录用户与AI的每次对话内容，用于历史查询和模型优化
	 * @param map 上下文参数，包含会话ID、用户信息等
	 * @param text 对话文本内容
	 * @param llmFlag LLM标志，true表示AI回复，false表示用户输入
	 */
	void saveRecord(Map<Object, Object> map, String text, boolean llmFlag);

	/**
	 * 更新并标注聊天记录 对历史对话进行质量标注，用于模型训练和优化
	 * @param aiChatRecord 包含更新内容和标注信息的聊天记录实体
	 * @return 操作结果
	 */
	R updateAndStandardRecord(AiChatRecordEntity aiChatRecord);

	/**
	 * 批量删除聊天记录及其标注 同时删除聊天记录和相关的标注数据
	 * @param ids 需要删除的记录ID数组
	 * @return 操作结果
	 */
	R removeRecordAndStandardByIds(Long[] ids);

}
